{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2012 美国总统竞选赞助情况分析（pandas实战）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据\n",
    "https://github.com/GibZhang/datasets/blob/master/P00000001-ALL.csv.zip\n",
    "http://jupter-oss.oss-cn-hangzhou.aliyuncs.com/file/opensearch/documents/2581/2012_Federal_Election_Commission_Database.csv"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 引入相关库："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# coding=utf-8\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "import pandas as pd\n",
    "\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.数据载入与总览"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.1 数据载入"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "df= pd.read_csv(r'E:\\projectsfiles\\machine_learning\\2012美国总统竞选\\2012_Federal_Election_Commission_Database.csv')   # ALL.csv是竞选资助详情"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "pandas.read_csv(filepath, sep=', ' ,header='infer', names=None)\n",
    "\n",
    "filepath:文本文件路径；sep:分隔符；header默认使用第一行作为列名，如果header=None则pandas为其分配默认的列名；也可使用names传入列表指定列名"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['cand_nm', 'contbr_nm', 'contbr_st', 'contbr_employer',\n",
       "       'contbr_occupation', 'contb_receipt_amt', 'contb_receipt_dt'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "各字段含义\n",
    "\n",
    "- cand_nm – 接受捐赠的候选人姓名\n",
    "- contbr_nm – 捐赠人姓名\n",
    "- contbr_st – 捐赠人所在州\n",
    "- contbr_employer – 捐赠人所在公司\n",
    "- contbr_occupation – 捐赠人职业\n",
    "- contb_receipt_amt – 捐赠数额（美元）\n",
    "- contb_receipt_dt – 收到捐款的日期"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.2 数据预览和基本统计分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>cand_nm</th>\n",
       "      <th>contbr_nm</th>\n",
       "      <th>contbr_st</th>\n",
       "      <th>contbr_employer</th>\n",
       "      <th>contbr_occupation</th>\n",
       "      <th>contb_receipt_amt</th>\n",
       "      <th>contb_receipt_dt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Bachmann, Michelle</td>\n",
       "      <td>HARVEY, WILLIAM</td>\n",
       "      <td>AL</td>\n",
       "      <td>RETIRED</td>\n",
       "      <td>RETIRED</td>\n",
       "      <td>250.0</td>\n",
       "      <td>20-JUN-11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Bachmann, Michelle</td>\n",
       "      <td>HARVEY, WILLIAM</td>\n",
       "      <td>AL</td>\n",
       "      <td>RETIRED</td>\n",
       "      <td>RETIRED</td>\n",
       "      <td>50.0</td>\n",
       "      <td>23-JUN-11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Bachmann, Michelle</td>\n",
       "      <td>SMITH, LANIER</td>\n",
       "      <td>AL</td>\n",
       "      <td>INFORMATION REQUESTED</td>\n",
       "      <td>INFORMATION REQUESTED</td>\n",
       "      <td>250.0</td>\n",
       "      <td>05-JUL-11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Bachmann, Michelle</td>\n",
       "      <td>BLEVINS, DARONDA</td>\n",
       "      <td>AR</td>\n",
       "      <td>NONE</td>\n",
       "      <td>RETIRED</td>\n",
       "      <td>250.0</td>\n",
       "      <td>01-AUG-11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Bachmann, Michelle</td>\n",
       "      <td>WARDENBURG, HAROLD</td>\n",
       "      <td>AR</td>\n",
       "      <td>NONE</td>\n",
       "      <td>RETIRED</td>\n",
       "      <td>300.0</td>\n",
       "      <td>20-JUN-11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              cand_nm           contbr_nm contbr_st        contbr_employer  \\\n",
       "0  Bachmann, Michelle     HARVEY, WILLIAM        AL                RETIRED   \n",
       "1  Bachmann, Michelle     HARVEY, WILLIAM        AL                RETIRED   \n",
       "2  Bachmann, Michelle       SMITH, LANIER        AL  INFORMATION REQUESTED   \n",
       "3  Bachmann, Michelle    BLEVINS, DARONDA        AR                   NONE   \n",
       "4  Bachmann, Michelle  WARDENBURG, HAROLD        AR                   NONE   \n",
       "\n",
       "       contbr_occupation  contb_receipt_amt contb_receipt_dt  \n",
       "0                RETIRED              250.0        20-JUN-11  \n",
       "1                RETIRED               50.0        23-JUN-11  \n",
       "2  INFORMATION REQUESTED              250.0        05-JUL-11  \n",
       "3                RETIRED              250.0        01-AUG-11  \n",
       "4                RETIRED              300.0        20-JUN-11  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看前5行数据\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 1001731 entries, 0 to 1001730\n",
      "Data columns (total 7 columns):\n",
      "cand_nm              1001731 non-null object\n",
      "contbr_nm            1001731 non-null object\n",
      "contbr_st            1001727 non-null object\n",
      "contbr_employer      988002 non-null object\n",
      "contbr_occupation    993301 non-null object\n",
      "contb_receipt_amt    1001731 non-null float64\n",
      "contb_receipt_dt     1001731 non-null object\n",
      "dtypes: float64(1), object(6)\n",
      "memory usage: 53.5+ MB\n"
     ]
    }
   ],
   "source": [
    "#查看数据的信息，包括每个字段的名称、非空数量、字段的数据类型\n",
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>contb_receipt_amt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1.001731e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2.982352e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.749667e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>-3.080000e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>3.500000e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>1.000000e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>2.500000e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>2.014491e+06</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       contb_receipt_amt\n",
       "count       1.001731e+06\n",
       "mean        2.982352e+02\n",
       "std         3.749667e+03\n",
       "min        -3.080000e+04\n",
       "25%         3.500000e+01\n",
       "50%         1.000000e+02\n",
       "75%         2.500000e+02\n",
       "max         2.014491e+06"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#用统计学指标快速描述数据的概要\n",
    "df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 数据清洗"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.1 缺失值处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "#从data.info()得知，contbr_employer、contbr_occupation均有少量缺失值,均填充为NOT PROVIDED\n",
    "data['contbr_employer'].fillna('NOT PROVIDED',inplace=True)\n",
    "data['contbr_occupation'].fillna('NOT PROVIDED',inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2 数据转换"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "利用字典映射进行转换：党派分析\n",
    "美国大选一般是民主党和共和党之争，虽然数据中没有党派这个字段，但是通过候选人名称即cand_nm，可以得到对应的党派信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "共有13位候选人，分别是\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array(['Bachmann, Michelle', 'Romney, Mitt', 'Obama, Barack',\n",
       "       \"Roemer, Charles E. 'Buddy' III\", 'Pawlenty, Timothy',\n",
       "       'Johnson, Gary Earl', 'Paul, Ron', 'Santorum, Rick',\n",
       "       'Cain, Herman', 'Gingrich, Newt', 'McCotter, Thaddeus G',\n",
       "       'Huntsman, Jon', 'Perry, Rick'], dtype=object)"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看数据中总统候选人都有谁\n",
    "print('共有{}位候选人，分别是'.format(len(data['cand_nm'].unique())))\n",
    "data['cand_nm'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "#通过搜索引擎等途径，获取到每个总统候选人的所属党派，建立字典parties，候选人名字作为键，所属党派作为对应的值\n",
    "parties = {'Bachmann, Michelle': 'Republican',\n",
    "           'Cain, Herman': 'Republican',\n",
    "           'Gingrich, Newt': 'Republican',\n",
    "           'Huntsman, Jon': 'Republican',\n",
    "           'Johnson, Gary Earl': 'Republican',\n",
    "           'McCotter, Thaddeus G': 'Republican',\n",
    "           'Obama, Barack': 'Democrat',\n",
    "           'Paul, Ron': 'Republican',\n",
    "           'Pawlenty, Timothy': 'Republican',\n",
    "           'Perry, Rick': 'Republican',\n",
    "           \"Roemer, Charles E. 'Buddy' III\": 'Republican',\n",
    "           'Romney, Mitt': 'Republican',\n",
    "           'Santorum, Rick': 'Republican'}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "增加一列party存储党派信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Democrat      593746\n",
       "Republican    407985\n",
       "Name: party, dtype: int64"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#通过map映射函数，增加一列party存储党派信息\n",
    "data['party']=data['cand_nm'].map(parties)\n",
    "#查看两个党派的情况\n",
    "data['party'].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出Republican（共和党）接受的赞助总金额更高，Democrat（民主党）获得的赞助次数更多一些"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 排序：按照职业汇总对赞助总金额进行排序"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "按照职位进行汇总，计算赞助总金额，展示前20项，发现不少职业是相同的，只不过是表达不一样而已，如C.E.O.与CEO，都是一个职业\n",
    "\n",
    "> DataFrame.sort_values(by, ascending=True, inplace=False)\n",
    "\n",
    "> by是根据哪一列进行排序，可以传入多列；ascending=True是升序排序，False为降序；inplace=Ture则是修改原dataframe，默认为False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "contbr_occupation\n",
       "RETIRED                                   48176447.00\n",
       "ATTORNEY                                  18470473.30\n",
       "HOMEMAKER                                 17484807.65\n",
       "INFORMATION REQUESTED PER BEST EFFORTS    15859514.55\n",
       "INFORMATION REQUESTED                      8742357.59\n",
       "PHYSICIAN                                  7224044.40\n",
       "PRESIDENT                                  6347843.59\n",
       "EXECUTIVE                                  5273717.90\n",
       "CONSULTANT                                 4932627.98\n",
       "NOT PROVIDED                               4224760.39\n",
       "CEO                                        3570942.20\n",
       "LAWYER                                     3537982.19\n",
       "OWNER                                      3278488.16\n",
       "INVESTOR                                   3204481.92\n",
       "ENGINEER                                   2730527.43\n",
       "PROFESSOR                                  2458033.81\n",
       "C.E.O.                                     2433218.11\n",
       "SELF-EMPLOYED                              2259150.94\n",
       "MANAGER                                    2167571.47\n",
       "REAL ESTATE                                2110499.34\n",
       "Name: contb_receipt_amt, dtype: float64"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.groupby('contbr_occupation')['contb_receipt_amt'].sum().sort_values(ascending=False)[:20]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 利用函数进行数据转换：职业与雇主信息分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "许多职业都涉及相同的基本工作类型，下面我们来清理一下这样的数据（这里巧妙地利用了dict.get它允许没有映射关系的职业也能“通过”）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "#建立一个职业对应字典，把相同职业的不同表达映射为对应的职业，比如把C.E.O.映射为CEO\n",
    "occupation_map = {\n",
    "  'INFORMATION REQUESTED PER BEST EFFORTS':'NOT PROVIDED',\n",
    "  'INFORMATION REQUESTED':'NOT PROVIDED',\n",
    "  'SELF' : 'SELF-EMPLOYED',\n",
    "  'SELF EMPLOYED' : 'SELF-EMPLOYED',\n",
    "  'C.E.O.':'CEO',\n",
    "  'LAWYER':'ATTORNEY',\n",
    "}\n",
    "\n",
    "# 如果不在字典中,返回x\n",
    "f = lambda x: occupation_map.get(x, x)\n",
    "data.contbr_occupation = data.contbr_occupation.map(f)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "同样地, 对雇主信息进行类似转换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "emp_mapping = {\n",
    "   'INFORMATION REQUESTED PER BEST EFFORTS' : 'NOT PROVIDED',\n",
    "   'INFORMATION REQUESTED' : 'NOT PROVIDED',\n",
    "   'SELF' : 'SELF-EMPLOYED',\n",
    "   'SELF EMPLOYED' : 'SELF-EMPLOYED',\n",
    "}\n",
    "\n",
    "# If no mapping provided, return x\n",
    "f = lambda x: emp_mapping.get(x, x)\n",
    "data.contbr_employer = data.contbr_employer.map(f)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.3 数据筛选"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 赞助金额筛选"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "赞助包括退款（负的出资额），为了简化分析过程，我们限定数据集只有正出资额"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = data[data['contb_receipt_amt']>0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 候选人筛选（Obama、Romney）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从下面可以卡出，赞助基本集中在Obama、Romney之间，为了更好的聚焦在两者间的竞争，我们选取这两位候选人的数据子集作进一步分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "cand_nm\n",
       "Obama, Barack                     1.358774e+08\n",
       "Romney, Mitt                      8.833591e+07\n",
       "Paul, Ron                         2.100962e+07\n",
       "Perry, Rick                       2.030575e+07\n",
       "Gingrich, Newt                    1.283277e+07\n",
       "Santorum, Rick                    1.104316e+07\n",
       "Cain, Herman                      7.101082e+06\n",
       "Pawlenty, Timothy                 6.004819e+06\n",
       "Huntsman, Jon                     3.330373e+06\n",
       "Bachmann, Michelle                2.711439e+06\n",
       "Johnson, Gary Earl                5.669616e+05\n",
       "Roemer, Charles E. 'Buddy' III    3.730099e+05\n",
       "McCotter, Thaddeus G              3.903000e+04\n",
       "Name: contb_receipt_amt, dtype: float64"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看各候选人获得的赞助总金额\n",
    "data.groupby('cand_nm')['contb_receipt_amt'].sum().sort_values(ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "#选取候选人为Obama、Romney的子集数据\n",
    "data_vs = data[data['cand_nm'].isin(['Obama, Barack','Romney, Mitt'])].copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.4 面元化数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "接下来我们对该数据做另一种非常实用的分析，利用cut函数根据出资额大小将数据离散化到多个面元中:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "411         (10, 100]\n",
       "412       (100, 1000]\n",
       "413       (100, 1000]\n",
       "414         (10, 100]\n",
       "415         (10, 100]\n",
       "             ...     \n",
       "701381      (10, 100]\n",
       "701382    (100, 1000]\n",
       "701383        (1, 10]\n",
       "701384      (10, 100]\n",
       "701385    (100, 1000]\n",
       "Name: contb_receipt_amt, Length: 694282, dtype: category\n",
       "Categories (8, interval[int64]): [(0, 1] < (1, 10] < (10, 100] < (100, 1000] < (1000, 10000] < (10000, 100000] < (100000, 1000000] < (1000000, 10000000]]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bins = np.array([0,1,10,100,1000,10000,100000,1000000,10000000])\n",
    "labels = pd.cut(data_vs['contb_receipt_amt'],bins)\n",
    "labels"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 数据聚合与分组运算"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分组计算Grouping，分组运算是一个“split-apply-combine”的过程：\n",
    "\n",
    "- 拆分，pandas对象中的数据会根据你所提供的一个或多个键被拆分为多组\n",
    "- 应用，将一个函数应用到各个分组并产生一个新值\n",
    "- 合并，所有这些函数的执行结果会合并到最终的结果对象中"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.1 透视表(pivot_table)分析党派和职业"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以通过pivot_table根据党派和职业对数据进行聚合，然后过滤掉总出资不足200万美元的数据："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>party</th>\n",
       "      <th>Democrat</th>\n",
       "      <th>Republican</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>contbr_occupation</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>ATTORNEY</th>\n",
       "      <td>14302461.84</td>\n",
       "      <td>7.868419e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CEO</th>\n",
       "      <td>2074974.79</td>\n",
       "      <td>4.211041e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CONSULTANT</th>\n",
       "      <td>2459912.71</td>\n",
       "      <td>2.544725e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ENGINEER</th>\n",
       "      <td>951525.55</td>\n",
       "      <td>1.818374e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EXECUTIVE</th>\n",
       "      <td>1355161.05</td>\n",
       "      <td>4.138850e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>HOMEMAKER</th>\n",
       "      <td>4248875.80</td>\n",
       "      <td>1.363428e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>INVESTOR</th>\n",
       "      <td>884133.00</td>\n",
       "      <td>2.431769e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MANAGER</th>\n",
       "      <td>762883.22</td>\n",
       "      <td>1.444532e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NOT PROVIDED</th>\n",
       "      <td>13725187.32</td>\n",
       "      <td>2.097161e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>OWNER</th>\n",
       "      <td>1001567.36</td>\n",
       "      <td>2.408287e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PHYSICIAN</th>\n",
       "      <td>3735124.94</td>\n",
       "      <td>3.594320e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PRESIDENT</th>\n",
       "      <td>1878509.95</td>\n",
       "      <td>4.720924e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PROFESSOR</th>\n",
       "      <td>2165071.08</td>\n",
       "      <td>2.967027e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>REAL ESTATE</th>\n",
       "      <td>528902.09</td>\n",
       "      <td>1.625902e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RETIRED</th>\n",
       "      <td>25305116.38</td>\n",
       "      <td>2.356124e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SELF-EMPLOYED</th>\n",
       "      <td>741746.40</td>\n",
       "      <td>2.245273e+06</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "party                 Democrat    Republican\n",
       "contbr_occupation                           \n",
       "ATTORNEY           14302461.84  7.868419e+06\n",
       "CEO                 2074974.79  4.211041e+06\n",
       "CONSULTANT          2459912.71  2.544725e+06\n",
       "ENGINEER             951525.55  1.818374e+06\n",
       "EXECUTIVE           1355161.05  4.138850e+06\n",
       "HOMEMAKER           4248875.80  1.363428e+07\n",
       "INVESTOR             884133.00  2.431769e+06\n",
       "MANAGER              762883.22  1.444532e+06\n",
       "NOT PROVIDED       13725187.32  2.097161e+07\n",
       "OWNER               1001567.36  2.408287e+06\n",
       "PHYSICIAN           3735124.94  3.594320e+06\n",
       "PRESIDENT           1878509.95  4.720924e+06\n",
       "PROFESSOR           2165071.08  2.967027e+05\n",
       "REAL ESTATE          528902.09  1.625902e+06\n",
       "RETIRED            25305116.38  2.356124e+07\n",
       "SELF-EMPLOYED        741746.40  2.245273e+06"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#按照党派、职业对赞助金额进行汇总，类似excel中的透视表操作，聚合函数为sum\n",
    "by_occupation = data.pivot_table('contb_receipt_amt',index='contbr_occupation',columns='party',aggfunc='sum')\n",
    "#过滤掉赞助金额小于200W的数据\n",
    "over_2mm = by_occupation[by_occupation.sum(1)>2000000]\n",
    "over_2mm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x163def22b48>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAFaCAYAAAAOxaYVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3dd7xU1dX/8c8CUaxEBY0dNRoLXbAngjx2YiURsZcQjTxqiokxT+wpRpPYNfrYf4oaeyyJiYC9UKTZUVFRH0Ws2CKwfn/sPZdzh5m5d86cuXfu4ft+vebFzJmZNfveO6w5s8va5u6IiEjH16m9GyAiItlQQhcRyQkldBGRnFBCFxHJCSV0EZGcUEIXEcmJdk3oZnaVmb1nZjNa8di/mNmUeHnJzD5qizaKiHQU1p7z0M3su8A84Dp371XF8/4b6O/uR9StcSIiHUy7nqG7+8PAB8ljZrahmf3DzCaZ2SNmtkmJpx4AjGmTRoqIdBBLtXcDSrgcONrdXzazrYBLgB0Ld5rZesD6wNh2ap+ISENqqIRuZisA2wJ/M7PC4WWKHjYCuNXdF7Rl20REGl1DJXRCF9BH7t6vwmNGAMe2UXtERDqMhpq26O6fAK+Z2fcBLOhbuN/Mvg2sDDzRTk0UEWlY7T1tcQwhOX/bzGab2ZHAgcCRZjYVeBbYK/GUA4CbXCUiRUQW067TFkVEJDsN1eUiIiLpKaGLiOREu81y6d69u/fs2bO9Xl5EpEOaNGnS++7eo9R97ZbQe/bsycSJE9vr5UVEOiQze73cfepyERHJCSV0EZGcUEIXEcmJhlr6//XXXzN79my+/PLL9m5K7nXt2pW1116bLl26tHdTRCQjDZXQZ8+ezYorrkjPnj1JFOeSjLk7c+fOZfbs2ay//vrt3RwRyUhDdbl8+eWXrLrqqkrmdWZmrLrqqvomJJIzDZXQASXzNqLfs0j+tJjQzWwdMxtnZs+b2bNmdnyJxww2s48Te36eUp/mdgx33nknzz33XHs3Q0SWMK3pQ58P/MzdJ5vZisAkM/uXuxdnrEfcfVj2TexY5s+fz5133smwYcPYbLPN2rs5IlKDnifdW/L4rD/s0cYtaZ0Wz9Dd/R13nxyvfwo8D6xV74a1p1mzZrHJJptw6KGH0qdPH4YPH87nn3/OGWecwaBBg+jVqxejRo2iUKly8ODBnHzyyeywww6cffbZ3H333Zx44on069ePV155hQEDBjTFfvnll9liiy3a60cTkRyrqg/dzHoC/YGnSty9jZlNNbP7zWzzDNrWrl588UVGjRrFtGnTWGmllbjkkksYPXo0EyZMYMaMGXzxxRfcc889TY//6KOPeOihh/j1r3/NnnvuyTnnnMOUKVPYcMMN6datG1OmTAHg6quv5rDDDmunn0pE8qzVCT3u93kbcELcWShpMrCeu/cFLgTuLBNjlJlNNLOJc+bMSdvmNrHOOuuw3XbbAXDQQQfx6KOPMm7cOLbaait69+7N2LFjefbZZ5sev//++5eNddRRR3H11VezYMECbr75ZkaOHFn39ovIkqdVCd3MuhCS+Q3ufnvx/e7+ibvPi9fvA7qYWfcSj7vc3Qe6+8AePUoWC2sYxbNAzIwf//jH3HrrrUyfPp0f/vCHzab9Lb/88mVj7bffftx///3cc889bLHFFqy66qp1a7eILLlaM8vFgCuB5939z2Ue8834OMxsyxh3bpYNbWtvvPEGTzwRti4dM2YM22+/PQDdu3dn3rx53HrrrWWfu+KKK/Lpp5823e7atSu77LILxxxzDIcffnh9Gy4iS6zWnKFvBxwM7JiYlri7mR1tZkfHxwwHZsR9QC8ARnT0fT833XRTrr32Wvr06cMHH3zAMcccww9/+EN69+7N3nvvzaBBg8o+d8SIEZxzzjn079+fV155BYADDzwQM2PnnXduqx9BRJYwLU5bdPdHgYqrUNz9IuCirBrVCDp16sRll13W7NhZZ53FWWedtdhjx48f3+z2dtttt9g89EcffZQjjjiCzp07Z95WERFosFouebXPPvvwyiuvMHbs2PZuiojkmBJ6CT179mTGjBmZxbvjjjsyiyUiUk7D1XIREZF0lNBFRHJCCV1EJCeU0EVEckIJvUjnzp3p168fm2++OX379uXPf/4zCxcubO9mVXTeeefx+eeft3czRKSdNfQsl3KlK9NqTcnLZZddtqmQ1nvvvcfIkSP5+OOPOf300zNtSzXcHXenU6fSn7/nnXceBx10EMstt1wbt0xkCXVatxLHPm77dhTRGXoFq622GpdffjkXXXQR7s6CBQs48cQTGTRoEH369OGvf/0rEBYW7bDDDvzgBz9g44035qSTTuKGG25gyy23pHfv3k2rRV9//XWGDh1Knz59GDp0KG+88QYA7777Lvvssw99+/alb9++PP7448yaNYtNN92UH//4xwwYMIA333yTY445hoEDB7L55ptz6qmnAnDBBRfw9ttvM2TIEIYMGdI+vygRaQhK6C3YYIMNWLhwIe+99x5XXnkl3bp1Y8KECUyYMIErrriC1157DYCpU6dy/vnnM336dK6//npeeuklnn76aY466iguvPBCAEaPHs0hhxzCtGnTOPDAAznuuOMAOO6449hhhx2YOnUqkydPZvPNQ/XhF198kUMOOYRnnnmG9dZbj9/+9rdMnDiRadOm8dBDDzFt2jSOO+441lxzTcaNG8e4cePa55ckIg1BCb0VCmVpHnjgAa677jr69evHVlttxdy5c3n55ZcBGDRoEGussQbLLLMMG264YVPNlt69ezNr1iwAnnjiiabSuQcffDCPPvooAGPHjuWYY44BQh9+t27h69x6663H1ltv3dSOW265hQEDBtC/f3+effZZbXMnIs00dB96I3j11Vfp3Lkzq622Gu7OhRdeyC677NLsMePHj2eZZZZput2pU6em2506dWL+/PklY7e0UXOyJO9rr73Gueeey4QJE1h55ZU57LDDmpXvFRHRGXoFc+bM4eijj2b06NGYGbvssguXXnopX3/9NQAvvfQSn332Wavjbbvtttx0000A3HDDDU0leYcOHcqll14KwIIFC/jkk+L9Q+CTTz5h+eWXp1u3brz77rvcf//9TfcVl+sVkSWTztCLfPHFF/Tr14+vv/6apZZaioMPPpif/vSnQNh5aNasWQwYMAB3p0ePHtx5Z8nNmUq64IILOOKIIzjnnHPo0aMHV199NQDnn38+o0aN4sorr6Rz585ceumlrLHGGs2e27dvX/r378/mm2/OBhts0LSbEsCoUaPYbbfdWGONNdSPLrIEs/YqWz5w4ECfOHFis2PPP/88m266abu0Z0mk37dIZeWmTs/qWmIbyTaatmhmk9x9YKn71OUiIpITSugiIjmhhC4ikhNK6CIiOaGELiKSE0roIiI5oYRepFA+t1evXnzve9/jo48+yvw1TjvtNM4999zFjs+aNYtevXoBMHHixKZaLyIirdHYC4tKlaisKV7L80ST5XMPPfRQLr74Yn79619n245WGDhwIAMHlpxqKiJSks7QK9hmm2146623mm6fc845TaVzC+VrZ82axSabbMKhhx5Knz59GD58eNNmEz179uT9998Hwhn34MGDm2JNnTqVHXfckY022ogrrrhisdceP348w4YNA2DevHkcfvjh9O7dmz59+nDbbbcBlCynW3jdU089lQEDBtC7d29eeOGFbH8xItKQlNDLWLBgAQ8++CB77rknECotvvzyyzz99NNMmTKFSZMm8fDDDwOhzO2oUaOYNm0aK620EpdcckmL8adNm8a9997LE088wRlnnMHbb79d9rFnnnkm3bp1Y/r06UybNo0dd9wRoGQ53YLu3bszefJkjjnmmJLdOyKSP0roRQq1XFZddVU++OADdtppJyAk9AceeID+/fszYMAAXnjhhabSueuss05TbZWDDjqoqSxuJXvttRfLLrss3bt3Z8iQITz99NNlH/vvf/+bY489tun2yiuvDFQup7vvvvsCsMUWWzSV7xWRfFNCL1LoQ3/99df5z3/+w8UXXwyEmui/+tWvmDJlClOmTGHmzJkceeSRwOJlcAu3l1pqqab9SItL3ZZ7Tinuvtj9hXK6Dz74INOmTWOPPfZo9hqF8r2dO3cuW75XRPJFCb2Mbt26ccEFF3Duuefy9ddfs8suu3DVVVcxb948AN566y3ee+89AN544w2eeOIJAMaMGdNUFrdnz55MmjQJoKnfu+Cuu+7iyy+/ZO7cuYwfP55BgwaVbcvOO+/MRRdd1HT7ww8/rFhOV0SWTEroFfTv35++ffty0003sfPOOzNy5Ei22WYbevfuzfDhw5tqkG+66aZce+219OnThw8++KBp96FTTz2V448/nu985zt07ty5Wewtt9ySPfbYg6233prf/OY3rLnmmmXb8T//8z98+OGH9OrVi759+zJu3Lhm5XSPOOKIZuV0pQ2d1m3xi0g7UfncGs2aNYthw4YxY8aM9m5K1Tri77vhNOju75INlc8VEZF2oYReo549e3bIs3MRyZ8WE7qZrWNm48zseTN71syOL/EYM7MLzGymmU0zswH1aa6IiJTTmqX/84GfuftkM1sRmGRm/3L35xKP2Q3YKF62Ai6N/1at1BQ9yV57jZ2ISP20eIbu7u+4++R4/VPgeWCtooftBVznwZPAN8xsDarUtWtX5s6dq2RTZ+7O3Llz6dq1a3s3RUQyVFVxLjPrCfQHniq6ay3gzcTt2fHYO9XEX3vttZk9ezZz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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "over_2mm.plot(kind='bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2 分组级运算和转换"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 根据职业与雇主信息分组运算"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们接下来了解一下对Obama和Romney总出资最高的职业和雇主。注意，这里巧妙地利用了dict.get，它允许没有映射关系的职业也能“通过”"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "cand_nm        contbr_occupation\n",
       "Obama, Barack  RETIRED              25305116.38\n",
       "               ATTORNEY             14302461.84\n",
       "               NOT PROVIDED         13725187.32\n",
       "               HOMEMAKER             4248875.80\n",
       "               PHYSICIAN             3735124.94\n",
       "               CONSULTANT            2459912.71\n",
       "               PROFESSOR             2165071.08\n",
       "Romney, Mitt   NOT PROVIDED         11638509.84\n",
       "               RETIRED              11508473.59\n",
       "               HOMEMAKER             8147446.22\n",
       "               ATTORNEY              5372424.02\n",
       "               PRESIDENT             2491244.89\n",
       "               CEO                   2324297.03\n",
       "               EXECUTIVE             2300947.03\n",
       "Name: contb_receipt_amt, dtype: float64"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#由于职业和雇主的处理非常相似，我们定义函数get_top_amounts()对两个字段进行分析处理\n",
    "\n",
    "def get_top_amounts(group,key,n=5):\n",
    "#传入groupby分组后的对象，返回按照key字段汇总的排序前n的数据\n",
    "    totals = group.groupby(key)['contb_receipt_amt'].sum()\n",
    "    return totals.sort_values(ascending=False)[:n]\n",
    "  \n",
    "grouped = data_vs.groupby('cand_nm')\n",
    "grouped.apply(get_top_amounts,'contbr_occupation',n=7)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从数据可以看出，Obama更受精英群体（律师、医生、咨询顾问）的欢迎，Romney则得到更多企业家或企业高管的支持"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "cand_nm        contbr_employer   \n",
       "Obama, Barack  RETIRED               22694358.85\n",
       "               SELF-EMPLOYED         18626807.16\n",
       "               NOT PROVIDED          13883494.03\n",
       "               NOT EMPLOYED           8586308.70\n",
       "               HOMEMAKER              2605408.54\n",
       "               STUDENT                 318831.45\n",
       "               VOLUNTEER               257104.00\n",
       "               MICROSOFT               215585.36\n",
       "               SIDLEY AUSTIN LLP       168254.00\n",
       "               REFUSED                 149516.07\n",
       "Romney, Mitt   NOT PROVIDED          12321731.24\n",
       "               RETIRED               11506225.71\n",
       "               HOMEMAKER              8147196.22\n",
       "               SELF-EMPLOYED          7414115.22\n",
       "               STUDENT                 496490.94\n",
       "               CREDIT SUISSE           281150.00\n",
       "               MORGAN STANLEY          267266.00\n",
       "               GOLDMAN SACH & CO.      238250.00\n",
       "               BARCLAYS CAPITAL        162750.00\n",
       "               H.I.G. CAPITAL          139500.00\n",
       "Name: contb_receipt_amt, dtype: float64"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#同样的，使用get_top_amounts()对雇主进行分析处理\n",
    "grouped.apply(get_top_amounts,'contbr_employer',n=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Obama：微软、盛德国际律师事务所； Romney：瑞士瑞信银行、摩根斯坦利、高盛公司、巴克莱资本、H.I.G.资本"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 对赞助金额进行分组分析(matplotlib画图)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "前面我们已经利用pd.cut()函数，根据出资额大小将数据离散化到多个面元中，接下来我们就要对每个离散化的面元进行分组分析\n",
    "\n",
    "首先统计各出资区间的赞助笔数，这里用到unstack()，stack()函数是堆叠，unstack()函数就是不要堆叠，即把多层索引变为表格数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>cand_nm</th>\n",
       "      <th>Obama, Barack</th>\n",
       "      <th>Romney, Mitt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>contb_receipt_amt</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>(0, 1]</th>\n",
       "      <td>493.0</td>\n",
       "      <td>77.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1, 10]</th>\n",
       "      <td>40070.0</td>\n",
       "      <td>3681.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(10, 100]</th>\n",
       "      <td>372280.0</td>\n",
       "      <td>31853.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(100, 1000]</th>\n",
       "      <td>153991.0</td>\n",
       "      <td>43357.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1000, 10000]</th>\n",
       "      <td>22284.0</td>\n",
       "      <td>26186.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(10000, 100000]</th>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(100000, 1000000]</th>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1000000, 10000000]</th>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "cand_nm              Obama, Barack  Romney, Mitt\n",
       "contb_receipt_amt                               \n",
       "(0, 1]                       493.0          77.0\n",
       "(1, 10]                    40070.0        3681.0\n",
       "(10, 100]                 372280.0       31853.0\n",
       "(100, 1000]               153991.0       43357.0\n",
       "(1000, 10000]              22284.0       26186.0\n",
       "(10000, 100000]                2.0           1.0\n",
       "(100000, 1000000]              3.0           NaN\n",
       "(1000000, 10000000]            4.0           NaN"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#labels是之前赞助金额离散化后的Series\n",
    "grouped_bins = data_vs.groupby(['cand_nm',labels])\n",
    "grouped_bins.size().unstack(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "接下来，我们再统计各区间的赞助金额"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>cand_nm</th>\n",
       "      <th>Obama, Barack</th>\n",
       "      <th>Romney, Mitt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>contb_receipt_amt</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>(0, 1]</th>\n",
       "      <td>318.24</td>\n",
       "      <td>77.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1, 10]</th>\n",
       "      <td>337267.62</td>\n",
       "      <td>29819.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(10, 100]</th>\n",
       "      <td>20288981.41</td>\n",
       "      <td>1987783.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(100, 1000]</th>\n",
       "      <td>54798531.46</td>\n",
       "      <td>22363381.69</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1000, 10000]</th>\n",
       "      <td>51753705.67</td>\n",
       "      <td>63942145.42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(10000, 100000]</th>\n",
       "      <td>59100.00</td>\n",
       "      <td>12700.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(100000, 1000000]</th>\n",
       "      <td>1490683.08</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1000000, 10000000]</th>\n",
       "      <td>7148839.76</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "cand_nm              Obama, Barack  Romney, Mitt\n",
       "contb_receipt_amt                               \n",
       "(0, 1]                      318.24         77.00\n",
       "(1, 10]                  337267.62      29819.66\n",
       "(10, 100]              20288981.41    1987783.76\n",
       "(100, 1000]            54798531.46   22363381.69\n",
       "(1000, 10000]          51753705.67   63942145.42\n",
       "(10000, 100000]           59100.00      12700.00\n",
       "(100000, 1000000]       1490683.08           NaN\n",
       "(1000000, 10000000]     7148839.76           NaN"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bucket_sums=grouped_bins['contb_receipt_amt'].sum().unstack(0)\n",
    "bucket_sums"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x163df001788>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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qYOZWbqeeOIJOnbsWLtUrqqqihtvvJFx48bx4YcfAvDWW29x1FFH0adPH6655prarz3xxBMZNGgQe++9N7feemvt9u22244rrriCQYMGMXLkSKZPn17bEvXBBx8EYPHixRx00EEMHDiQgQMH8txzz7Uq9/vvv8+OO+5YUJarrrqK/fffn+eff54f/OAHDBkyhH322Yfzzz+fmhsFX3/9dUaOHMl+++3HwIED+ctf/lLv/WbMmMGAAQNYtGhRq3I25FvIzazVXnnllY1akW6//fbsuuuuvP766wBMnz6duXPnss022zBkyBCOOeYYBg8ezLhx4+jSpQsfffQRQ4YM4eSTT6Zr167861//Yvjw4Vx33XWMGjWK73//+zz66KPMmzePs88+m+OPP56ddtqJRx99lI4dO7Jw4ULOOOMMCrkLesSIEUQEixYt4p577qnd3lyWffbZhx/84AcA9O3bl6uuugqAs846iylTpnDcccdx5plnMmbMGEaNGsXq1atZv349b731FgDPPfccl1xyCQ888AC77rrrZo23C7WZtVpjXfMabj/88MPp2rUrkGtL+swzzzB48GDGjh3L/fffD+TOuhcuXEjXrl1p3749Rx11FJBrS9qhQwfatWtHv379aluZrlmzhosvvpg5c+ZQVVXFggULCso7depUunXrxl/+8hcOO+wwhg8fznbbbddklqqqKk4++eR6X3/99dfz4YcfsmLFCvbee2+GDx/O22+/zahRowDo2LFj7fHz58/n/PPP55FHHuFTn/pUa4a2US7UZtZqe++9N7/97W/rbXv//fd566232H333Zk1a9ZGhVwS06ZN47HHHuP5559nm222Yfjw4bVtUNu1a1f7NU21KL3xxhvp0aMHL774IuvXr69XHAux++6706NHD+bNm8eHH37YZJaOHTtSVVUFwOrVq7nwwguZOXMmu+yyC1dffTWrV6+muT5JPXv2ZPXq1cyePbsohdptTs2s1Q477DA+/PBD7rjjDiB3we3b3/42o0ePrn0AwKOPPsqKFSv46KOPmDx5Mp/73OdYuXIlO+64I9tssw2vvvoqL7zwQqved+XKlfTs2ZOtttqKCRMm1LvQ99nPfrbFr1+6dClvvPEGu+22W8FZaop3t27d+OCDD5g0aRKQm+rp1asXkydPBuDjjz+unZ/v3Lkzv/vd7/iP//gPpk2b1qq/Y2N8Rm3WBhSynK6YJHH//fdz4YUX8sMf/pD169fzhS98gR//eMOCsM9//vOcddZZvP7663zpS19i8ODB9OvXj1tuuYV9992XPn36MGzYsFa974UXXsjJJ5/Mvffey4gRI9h229xN0n//+9+bPcMdMWIEVVVVrFmzhmuvvZYePXpw1FFHFZSlc+fOfO1rX6Nfv35UV1czZMiQ2n0TJkzgggsu4KqrrqJdu3bce++9tft69OjBQw89xNFHH824cePYf//9W/V3rcttTs02l9ucZm7KlCksWrSo1UvvstLaNqc+ozazinfsscdmHaGkPEdtZpY4F2ozs8S5UJuZJc6F2swscb6YaGVXaKe3ci85M0uVC7VZW1DoEsGCX6/lpYRVVVX069ePtWvX0rt3byZMmEDnzp2Lm6NEqqur2WWXXXj66adrt/Xv35+1a9cyd+5cZs6cyR133MHYsWOZNm0a7du358ADDwRg8uTJ7LnnnvTt27dseT31YWab5BOf+ARz5sxh7ty5dOnSpeKecbhq1araBkrz58+vt6+mJwnk+kvX7dI3efJk5s0rb0t+F2oz22wHHHAAb7/9NpBrzHT55Zezzz770K9fP+6++24gV/AOOeQQTj31VPbcc0/GjBnDnXfeydChQ+nXr19ti9DRo0dz6aWXcuCBB/LpT3+69pZtgBtuuIEhQ4aw77778l//9V8A/Od//ie/+MUvao+58sora4tsc0499dTabHfddRdnnHFG7b5p06Zx7LHHsnjxYm655RZuvPFG+vfvz5NPPsmDDz7I5ZdfTv/+/Tdqa1oqLtRmtlnWrVvH448/zvHHHw/Afffdx5w5c3jxxRd57LHHuPzyy3nnnXcAePHFF/nFL37Byy+/zIQJE1iwYAHTp0/nvPPO45e//GXta77zzjs888wzTJkyhTFjco9ofeSRR1i4cCHTp09nzpw5zJo1i6eeeopzzz2X22+/HYD169czceJEzjzzzBZzn3LKKdx3330APPTQQxx33HEbHVNdXc3Xv/51LrvsMubMmcMhhxzC8ccfzw033MCcOXPYfffdN2/wCuQ5ajPbJB999BH9+/dn8eLFDBo0iMMPPxyAZ555hjPOOIOqqip69OjBIYccwowZM9h+++0ZMmQIPXv2BHKd7I444ggg19Z06tSpta994oknstVWW9G3b1/ee+89IFeoH3nkEQYMGADABx98wMKFCzn44IPp2rUrs2fP5r333mPAgAG17VWb06VLF3bccUcmTpzIXnvtVdtMKkUu1Ga2SWrmqFeuXMmxxx7LTTfdxKWXXtpsc6Sa1qXQdCvThsfVvF5E8L3vfY8LLrhgo9c977zzGD9+PO+++y7nnHNOwX+H0047jYsuuojx48cX/DVZ8NSHmW2WHXbYgbFjx/KTn/yENWvWcPDBB3P33Xezbt06li1bxlNPPcXQoUM3+32OPPJIxo0bxwcffADA22+/zdKlSwEYNWoUDz/8MDNmzODII4+s/ZqWWp+OGjWK7373u/W+pqFOnTqxatWqJj8vB59Rm7UFRezMtykGDBjAfvvtx8SJE/nyl7/M888/z3777Yckrr/+ej75yU/y6quvbtZ7HHHEEcyfP58DDjgAyD3X8De/+Q077bQT7du3Z8SIEXTu3Lm24X9LrU8hV3SvuOKKZo857rjjOOWUU3jggQf45S9/yemnn87XvvY1xo4dy6RJk8oyT+02p1Z2be6GF7c5zdz69esZOHAg9957L5/5zGeAtFufus2pWREU+sMEYHHrngZlRTZv3jyOPfZYRo0aVVukoW21PnWhNrOK1rdvXxYtWpR1jJLyxUSzClWKaUsrvU35dyvojFrSYmAVsA5Y29Q8ipmVR8eOHVm+fDldu3bd6Gnflq6IYPny5a1+enprpj5GRMTfWxfLzEqhV69eLFmyhGXLlmUdxVqpY8eO9OrVq1Vf4zlqswrUrl07evfunXUMK5NC56gDeETSLEnnN3aApPMlzZQ00z/lzcyKp9BC/bmIGAgcDVwk6eCGB0TErRExOCIGd+/evaghzcy2ZAUV6oj4W/6/S4H7gc2/H9TMzArSYqGWtK2kTjV/Bo4A5pY6mJmZ5RRyMbEHcH9+CdDWwP+LiIdLmsrMzGq1WKgjYhGwXxmymJlZI3xnoplZ4lyozcwS50JtZpY4F2ozs8S5UJuZJc6F2swscS7UZmaJc6E2M0ucC7WZWeJcqM3MEudCbWaWOBdqM7PEuVCbmSXOhdrMLHEu1GZmiXOhNjNLnAu1mVniXKjNzBLnQm1mljgXajOzxLlQm5klzoXazCxxLtRmZokruFBLqpI0W9KUUgYyM7P6WnNG/U1gfqmCmJlZ4woq1JJ6AccAt5U2jpmZNVToGfXPge8C65s6QNL5kmZKmrls2bKihDMzswIKtaRjgaURMau54yLi1ogYHBGDu3fvXrSAZmZbukLOqD8HHC9pMTAROFTSb0qayszMarVYqCPiexHRKyKqgdOBJyLiyyVPZmZmgNdRm5klb+vWHBwR04BpJUliZmaN8hm1mVniXKjNzBLnQm1mljgXajOzxLlQm5klzoXazCxxLtRmZolzoTYzS5wLtZlZ4lyozcwS50JtZpY4F2ozs8S5UJuZJc6F2swscS7UZmaJc6E2M0ucC7WZWeJcqM3MEudCbWaWOBdqM7PEuVCbmSXOhdrMLHEu1GZmiWuxUEvqKGm6pBclvSLpmnIEMzOznK0LOOZj4NCI+EBSO+AZSX+IiBdKnM3MzCigUEdEAB/kP22X/4hShjIzsw0KmqOWVCVpDrAUeDQi/lTaWGZmVqOgQh0R6yKiP9ALGCppn4bHSDpf0kxJM5ctW1bsnGZmW6xWrfqIiH8C04CjGtl3a0QMjojB3bt3L1I8MzMrZNVHd0md83/+BDASeLXUwczMLKeQVR89gdslVZEr7PdExJTSxjIzsxqFrPp4CRhQhixmZtYI35loZpY4F2ozs8S5UJuZJc6F2swscS7UZmaJc6E2M0ucC7WZWeJcqM3MEudCbWaWOBdqM7PEuVCbmSXOhdrMLHEu1GZmiXOhNjNLnAu1mVniXKjNzBLnQm1mljgXajOzxLlQm5klrpCH25pl4+odWnHsytLlMMuYz6jNzBLnQm1mljgXajOzxLlQm5klrsVCLWkXSVMlzZf0iqRvliOYmZnlFLLqYy3w7Yj4s6ROwCxJj0bEvBJnMzMzCijUEfEO8E7+z6skzQd2BlyoE1M95ncFHbf42mNKnMTMiqlVc9SSqoEBwJ8a2Xe+pJmSZi5btqw46czMrPBCLWk74LfAtyLi/Yb7I+LWiBgcEYO7d+9ezIxmZlu0ggq1pHbkivSdEXFfaSOZmVldhaz6EPC/wPyI+FnpI5mZWV2FnFF/DjgLOFTSnPzHF0qcy8zM8gpZ9fEMoDJkMTOzRvjORDOzxLlQm5klzoXazCxxLtRmZolzoTYzS5wLtZlZ4lyozcwS50JtZpY4F2ozs8S5UJuZJc6F2swscS7UZmaJc6E2M0ucC7WZWeJcqM3MEudCbWaWOBdqM7PEuVCbmSXOhdrMLHEu1GZmiXOhNjNLnAu1mVniXKjNzBLXYqGWNE7SUklzyxHIzMzqK+SMejxwVIlzmJlZE1os1BHxFLCiDFnMzKwRnqM2M0tc0Qq1pPMlzZQ0c9myZcV6WTOzLV7RCnVE3BoRgyNicPfu3Yv1smZmWzxPfZiZJa6Q5Xl3Ac8DfSQtkXRu6WOZmVmNrVs6ICLOKEcQMzNrnKc+zMwS50JtZpY4F2ozs8S5UJuZJa7Fi4lmZluK6jG/K+i4xdceU+Ik9fmM2swscS7UZmaJc6E2M0ucC7WZWeJcqM3MEudCbWaWOBdqM7PEuVCbmSXOhdrMLHEu1GZmiXOhNjNLnAu1mVniXKjNzBLnQm1mljgXajOzxLkf9Zbo6h1acezK0uUws4L4jNrMLHE+ozazkiv0ySlQ/qenVAKfUZuZJa6gQi3pKEmvSXpd0phShzIzsw1aLNSSqoCbgKOBvsAZkvqWOpiZmeUUMkc9FHg9IhYBSJoInADMK2WwlKT6ZGIz2zIoIpo/QDoFOCoizst/fhawf0Rc3OC484Hz85/2AV4rctZuwN+L/JrFVgkZwTmLzTmLqxJyliLjbhHRvbEdhZxRq5FtG1X3iLgVuLWVwQomaWZEDC7V6xdDJWQE5yw25yyuSshZ7oyFXExcAuxS5/NewN9KE8fMzBoqpFDPAD4jqbek9sDpwIOljWVmZjVanPqIiLWSLgb+CFQB4yLilZIn21jJplWKqBIygnMWm3MWVyXkLGvGFi8mmplZtnxnoplZ4lyozcwS50JtZpa45LrnSXqpgMOWRcRhJQ/TDEkDCzhsTUS8XPIwzZBUyAqdFRExutRZmuPxLC6PZ/GkMJbJFWpyK0u+0Mx+kcbywCfJLV1s7IagGr2B6rKkadpewHnN7Be5Xi5Z83gWl8ezeDIfyxQL9QUR8WZzB0i6sFxhmjEjIg5t7gBJT5QrTDOujIgnmztA0jXlCtMMj2dxeTyLJ/Ox9PI8M7PEpXhG3SRJf4iIo7POUUPSDsBRwM7k+p/8DfhjRPwz02B15DN+DzgRqGn4shR4ALg2wawezyLxeBZP1mOZ3KoPSQOb+BgE9M86Xw1JXwH+DAwHtgG2BUYAs/L7UnEP8A9geER0jYiu5HL+A7g302R1eDyLy+NZPCmMZXJTH5LWkZu8b2ziflhEfKLMkRol6TVy7V7/2WD7jsCfImLPbJLVJ+m1iOjT2n3l5vEsLo9n8aQwlilOfcwnd0FxYcMdkt7KIE9TRCPtXoH1NH91uNzelPRd4PaIeA9AUg9gNODxbD2PZ3FVwnhmPpYpFuqraXpK5pIy5mjJj4A/S3qEDd9QuwKHAz/MLNXGTgPGAE/m/wcAeJfcEsdTM0u1MY9ncXk8iyfzsUxu6qOS5H/1OZLcBQaR6939x4j4R6bBKpTHs7g8nsWT9Vi6UG8BJB1J7qp63SvWD0TEw5kGa0T+rKo2Z82vwynxeBZXpYxnlmPpQl0Ckl6OiH5Z5wCQ9HNgT+AOcmcBkHtKz1eAhRHxzayy1SWpP3ALsAO5nCKX85/AhRHx5wzj1fJ4FlcljGcKY+lCvYkkndTULuCWph5SWW6SFjR2VVqSgAUR8ZkMYm1E0hxyF5H/1GD7MODXEbFfNsnq83gWVyWMZwpjmeLFxEZJGgy8ExFvZ50l727gThq/GtyxzFmas1rS0IiY3mD7EGB1FoGasG3D/xEAIuIFSdtmEagJHs/iqoTxzHwsK6ZQk1vxsW/+J/BpWYcBXgJ+EhFzG+6QNDKDPE0ZDfyPpE5s+NVyF+D9/L5U/EHS78j9ClxzZX0Xcr8CpzRXORqPZzGNJv3xzHwsK27qQ1KniFiVQI6DgDcj4q+N7BscETMziNUkSZ+kzhXriHg340gbkXQ0cAL1r6w/GBG/zzRYIzyexZX6eGY9lkkW6qzvq99SSPpsRLyadY5K4+/P4vJ4tizFXh+Z31e/BXkk6wA1JO0g6VpJ8yUtz3/Mz2/rnHW+GpXy/enxLJ4UxjK5M+oU7qtvSySNbWoXcHZEbF/OPE2R9EfgCXK3Er+b3/ZJcvOUh0XE4RnGq1Up358ez+JJYSxTLNQLgCERsbLB9h2AmSks16kkklYB3wY+bmT3TyOiW5kjNUoV0JwHKuf70+NZPCmMZYqrPjK/r35zSDoBeLex5TwZmQHMjYjnGu6QdHX54zTpTaXfnAcq5/vT41k8mY9lcmfUkP199ZtD0o+BfsDWkcBDDiR1AVZHxIdZZ2lO/t98DLkr6zvlN79HrjnPdRGxIqtsDVXC92eD8WzY7Mjj2QopjGVyhVqSooVQhRxjVkqqgB4alcTj2bwUC/U04LfkmrL8tc729sDngbOBqRExPpOABZB0eEQ8mnWOtkLSVyPi/7LOAWn0fSiUKqDZUaWMZ9ZjmWKh7gicA5wJ9Cb3D/YJcksJHwFuiog52SVsmaS/RsSuWedoK1IazxT6PhRCFdDsCCpjPFMYy+QKdV2S2gHdgI9SW/wu6cGmdgGHRkRK/RSSJ+mlpnYBe0ZEh3LmaYqkhU2tRJD0ekTsUe5MjVEFNDuCyhjPFMYyxVUftSJiDfBO1jmacBDwZeCDBtsFDC1/nNbJX/RcCdwWEcuzzkPuIs2R5B5qWpeAjVasZCjzvg8FqoRmR1AZ45n5WCZdqBP3AvBhRDzZcEd+EX/qpgO7AzeS+58ia1OA7Rqb1spft0hCRFzaRN+HmxLroTGa9JsdVcp4jibjsUx66sPMNo8Sb3ZUSbIcy+R6fVSK/PzUZh9TapK2lnSBpIclvSTpRUl/kPT1/DUAKxJJt2adoa783X2H5D8OAg5Jqc8HpNFHoxBZj6UL9aabKukSSfVWI0hqL+lQSbeTW0qYtQlAf3JPd/8CcAxwDbAf8JvsYlUmSV2a+OhKbnyToApodpR3D7nrEiMiomtEdCWX85/AvZkmy0thLD31sYmaWEbYEagioWWELfQpaPRqtjVN0jrgTXK//taI/Oc7R0T7TII1oApodgRp9NFoSQpj6YuJmygiVgM3AzenvIwQ+IekLwK/jYj1AJK2Ar7IxissrGWLyHVMa+yBESn10BCNPyZuPfV/yGQt8z4aBch8LF2oiyDxZYSnA9eR+4FSU5g7A1Pz+5Im6TFgDbnfUKZknQf4ObAjsFGhBq4vc5bmVEKzI4DTyPXReDJfoGFDH41TM0tVX+Zj6amPLUh+HlUR8fessxRK0qeAnsCwiLgp6zyVJPVmR5Uk67F0od6CpdqTJN/xL1xQtgxZ99EoVJaNo1yot2CJ9dDYldzUwWHkLswK2J7ckzXGRMTi7NK1LZJejoh+WeeANPpotCSFxlEu1G1cpfQkkfQ8ufnfSRGxLr+titxFz29FxLAs81UaSSc1tQu4JSK6lzNPU1Loo9GSFBpH+WJi21cpPUm6RcTddTfkC/ZESSld/GqUpJ7Aioho7JFnWbgbuJPGVyt0LHOW5mTeR6MA2zb2xKaIeEFSWU50XKjbvkrpSTJL0s3A7dRvznM2MDuzVIWbAOwu6bcR8Z2swwAvAT+JiLkNd0gamUGepowm/Z4kmTeO8tSHJUG5B0Ocy8bNeR4E/jehM9Um5X9d7xsRrySQ5SDgzSbWew+OiJkZxGpS6j1Jmmgc9WC5Gke5ULdxkh9tVmz5gjyU+qsUpnsMi0vSZyPi1axzpMCFuo1ThTzaTNLW5M6oN1qmRe6Mek2G8WpJOoLcHakLgbfzm3sBe5BbAfBIVtnamlRWJeUbMn2P+g9eXkrue/PactyN7ELdxlVQT5K7yGW7nfrLtM4GukTEaVllq0vSfODohssFJfUGfh8Re2USrEJJGtvULuDsiNi+nHkaDSL9kdwy0dtrpmTyUzWjybUTOLzkGVyotxwp9ySplOZRkhYCe0XE2gbb2wPzUnh0VCWRtAr4NtDYNYifRkS3MkfaSAqNo7zqY+mgJ6cAAAoPSURBVAuSeE+SSmkeNQ6YIWki9VcAnA78b2apCiTpBODdxpabZWQGMDciNnrcmqSryx+nUZk3jvIZtSVBUjW55lGHsqEw1zSPGhMRb2STbGOS+gLHs/EKgHmZBiuAcs/K7AdsHRFHJ5CnC7A6Ij7MOktT8n0+xlB/jvo9ciuSrouIFSXP4EJtqamU5lHuSWLl4kJtyUupeVSdniSHknuKO+R6QCTXk0TSZ9mw9rdmFc2DETE/02BtiKSvRsT/lfp9/CguqwQpzf3eDdwP9IyIz+R7UfQEJgMTM01Wh6QryOURuSfOz8j/+S5JY7LM1sZcU4438Rm1JaGCmkctbKpRUHP7yk3SAmDvhuvP86tTXkklZyWQ9FJTu4A9I6JDqTN41YelolKaR1VKT5L1wKfIPd+xrp75fUnLX/RcCdwWEcszjtOD3EMDGl6LELDRapVScKG2VFRK86ivkLuD8hoa6UmSYa6GvgU8nl/3XffxUXsAF2eWqnDTgd2BG8mNeZamANs1dmNY/s7fkvPUh1kblV+HXtOTpOYHyoyaft9WOXxGbUmolOZRldKTJC/qfKyv899k1BnPUeSmalIez8z4jNqSUEHNoyqlJ0lFNI+qlPHMmgu1JaGCmkdVSk+SimgeVSnjmTVPfVgSImI1uTPAm1NuHkXl9CTZmg1nqHW9DbQrc5bmVMp4ZsqF2pKTePOo08n1JLlZUsOeJKdnlmpjldI8quF4itx4PkFa47kRSY8Ba8j9tjelpO/lqQ+zTZN6T5JKax6V+ng2JOlT5NalD4uIm0r6Xi7UZsWRUk+SulJvHtVET5IHUnwMV1Zj6V4fZsWTzJSCpF0lTZS0FPgTMF3S0vy26mzTbdBMT5KJqfQkqTOWy8iN5Yxyj6XPqM1aoYJ6kjwP/ByYVHODi6QqchfpvhURw7LMV6MSepKkMJYu1GatkL/g1VRPkrsjokf5U22sgppHvQocGRFvNti+G/BIOR5z1ZIUxtKrPsxap1J6klRK86hK6EmS+Vj6jNqsDcpPHZzLhot09ZpHRURjD5PNROo9SVIYSxdqs1aolJ4klURSTSvbuqs+pnsMN/DUh1nrTJXUYk8SYHw28WrzVETzqOZ6kkhKoidJCmPpM2qzVqigniQV0eyoEnqSpDCWLtRmmyjlniSV0uwofxFxr4hY22B7e2BeROyRTbJ6WTIfS099mG2ixHuSVEqzo0roSZL5WPqM2qwNyt8xdx1wKBuKSU3zqDER8UY2yTaWek+SRsaybuOosoylC7VZG1cpzY5S70kC2Y2lC7XZFial5lGSdgWuJ3e2ujK/eQc2nK0uzihaPVk3jnJTJrMtTypzvwB3A/cDPSPiM/nbsXsCk8k1a8pcCo2jfEZt1gZVUPOozPtotCSFxlFe9WHWNh1E082jhpY/TpMy76NRgPXknpD+ZoPtPSnTU91dqM3apkppHvUVcnf9XUMjfTQyzFVX5o2jPPVhZtaCrBtH+YzarA2qlOZRKfTRKFDU+Vhf579l4TNqszZI0jSgxeZRETE+k4Ab8mTeR6MlzTWOAsrSOMqF2qwNqqDmUZn30WhJCo2jPPVh1gZFxGpyZ4E3p9w8igT6aBRgazac7df1NtCuXAHMrA1LvHnU6eT6aNycfx4lbOhJcnpmqerLvHGUpz7MLAkp9yTJunGUC7WZJSmlniQ1smoc5V4fZpaqJG54kbSrpImSlgJ/AqZLWprfVl2ODJ6jNrPMtNCTpGs5szTjbuDnwJk1N7hIqiJ3wXMiMKzUATz1YWaZyV9AbKonyd0R0aP8qRoESaBxlM+ozSxLldCTJPPGUT6jNjNrRv5uznPZ8OCAeo2jIuLjkmdwoTazrFRKT5KsedWHmWVpqqRL8o/kqiWpvaRDJd1OboohM5K2lnSBpD9IeknSi/k/fz1/12fpM2zhP6jMLEOV0JMkhcZRLtRmloRUe5Kk0DjKUx9mloSIWBMR76RUpPP+IemL+WZRQK5xlKTTKFPjKBdqM7PmnQ6cArwnaUH+YbfvAidRpsZRnvowMytQVo2jfEZtZlagiFhet0hLOrwc7+szajOzTSTprxGxa8tHbh7fQm5m1owUGke5UJuZNe8gmm4cNbQcAVyozcyal3njKM9Rm5klzqs+zMyaIUnFOGZzuFCbmTUv88ZRnvowM2tGCo2jXKjNzAqUVeMoF2ozs8R5jtrMLHEu1GZmiXOhNjNLnAu1ZUZStaQv1fl8tKRfZZzpU5ImtXBMZ0kXljjHcEkHlvI9rHK4UFuWqoEvtXRQS5RTlO/liPhbRJzSwmGdgZIWamA44EJtgAu1bQZJX6nzVOYJknaT9Hh+2+M1NwhIGi9prKTnJC2SVFMIrwUOkjRH0mX5bbtIeljSa5L+q5n3rpY0X9LNwJ/zX3eEpOcl/VnSvZK2yx87JP/eL0qaLqmTpCpJN0iakc97QZ3XnZv/82hJDzSS51pg93zuG5rIt11+DP4s6WVJJ9R5/Vcl3SZprqQ7JY2U9KykhZKGSqoGvg5cln+Pgzb5H8nahojwhz9a/QHsDbwGdMt/3gV4CDg7//k5wOT8n8cD95I7MegLvJ7fPhyYUuc1RwPvkGsd+QlgLjC4ifevBtYDw/KfdwOeArbNf34FcBXQHlgEDMlv355cM7Lzge/nt3UAZpK7maEamNtcnrrHNDM+WwPb18n2Orlua9XAWqBffjxmAePy+06oM2ZXA9/J+t/ZH2l8uHuebapDgUmRf9pFRKyQdAC558gBTACur3P85IhYD8yT1KOZ1300IpYDSLoP+Dy5ItqYNyPihfyfh5H7IfBsvu1Ce+B5oA/wTkTMyOd8P//aRwD71jm73wH4DLCggDyTm8lfQ8CPJR1M7gfKzkDN3/uNiHg5/5qvAI9HREh6mVwhN6vHhdo2lYCW7paqu//jBl9byNc09nld/2rwmo9GxBl1D5C0bxOvIeCSiPhjg+OrNyNPXWcC3YFBEbFG0mJytx1D/bFYX+fz9fj/SWuE56htUz0OnJp/2CeSugDPseGpzGcCz7TwGquATg22HS6pi6RPACcCzxaY5wXgc5L2yOfZRtKewKvApyQNyW/vJGlr4I/AN/K3BCNpT0nbNvK6jeVpLHdDOwBL80V6BLBbgX+PGoW8h20h/NPbNklEvCLpR8CTktYBs4FLgXGSLgeWAV9t4WVeAtZKepHcPPY/yBX3CcAewP+LiKamPRrmWSZpNHCXpA75zd+PiAWSTgN+mS+2HwEjgdvITTP8Od+ichm5QtxQo3nyF//mAn+IiMsb+bo7gYckzQTmkPuB0RoPAZPyFyEviYinW/n11oa414dZE/KFf3BEXJx1FtuyeerDzCxxPqO2pOXnwB9vZNdhNasxsiSpH7mpkbo+joj9s8hjbZMLtZlZ4jz1YWaWOBdqM7PEuVCbmSXOhdrMLHH/Hzi96f/7P0/qAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Obama、Romney各区间赞助总金额\n",
    "bucket_sums.plot(kind='bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "上图虽然能够大概看出Obama、Romney的赞助金额区间分布，但对比并不够突出，如果用百分比堆积图效果会更好，下面我们就实现以下。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>cand_nm</th>\n",
       "      <th>Obama, Barack</th>\n",
       "      <th>Romney, Mitt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>contb_receipt_amt</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>(0, 1]</th>\n",
       "      <td>0.805182</td>\n",
       "      <td>0.194818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1, 10]</th>\n",
       "      <td>0.918767</td>\n",
       "      <td>0.081233</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(10, 100]</th>\n",
       "      <td>0.910769</td>\n",
       "      <td>0.089231</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(100, 1000]</th>\n",
       "      <td>0.710176</td>\n",
       "      <td>0.289824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1000, 10000]</th>\n",
       "      <td>0.447326</td>\n",
       "      <td>0.552674</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(10000, 100000]</th>\n",
       "      <td>0.823120</td>\n",
       "      <td>0.176880</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(100000, 1000000]</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(1000000, 10000000]</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "cand_nm              Obama, Barack  Romney, Mitt\n",
       "contb_receipt_amt                               \n",
       "(0, 1]                    0.805182      0.194818\n",
       "(1, 10]                   0.918767      0.081233\n",
       "(10, 100]                 0.910769      0.089231\n",
       "(100, 1000]               0.710176      0.289824\n",
       "(1000, 10000]             0.447326      0.552674\n",
       "(10000, 100000]           0.823120      0.176880\n",
       "(100000, 1000000]         1.000000           NaN\n",
       "(1000000, 10000000]       1.000000           NaN"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#算出每个区间两位候选人收到赞助总金额的占比\n",
    "normed_sums = bucket_sums.div(bucket_sums.sum(axis=1),axis=0)\n",
    "normed_sums"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x163df53f9c8>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#使用柱状图，指定stacked=True进行堆叠，即可完成百分比堆积图\n",
    "normed_sums[:-2].plot(kind='bar',stacked=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出，小额赞助方面，Obama获得的数量和金额比Romney多得多"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 按照赞助人姓名分组计数，计算重复赞助次数最多的前20人"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "contbr_nm\n",
       "WILLIAMS, DEBBY          205\n",
       "BERKE, DAVID MICHAEL     171\n",
       "SEBAG, DAVID             161\n",
       "SMITH, ERIK              145\n",
       "FALLSGRAFF, TOBY         138\n",
       "SKINNER, DONNA           136\n",
       "CASPERSON, CAROLINA      132\n",
       "HARRIS, CLAUDIA W.       132\n",
       "ROSBERG, MARILYN         115\n",
       "POTTS, LILLIE            114\n",
       "DUDLEY, DEBBIE           111\n",
       "HAUGHEY, NOEL ANTHONY    107\n",
       "DFHDFH, DFHDFH            96\n",
       "SHERWIN, GLEN R.          94\n",
       "MITCHELL, CAITLIN         90\n",
       "SMITH, CHARLES            88\n",
       "KARIMIAN, AFSANEH         87\n",
       "NURU, ISAAC               87\n",
       "MASTERS, MARGERY          85\n",
       "BIRMINGHAM, TOM           85\n",
       "Name: contbr_nm, dtype: int64"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.groupby('contbr_nm')['contbr_nm'].count().sort_values(ascending=False)[:20]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. 时间处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.1 str 转 datetime"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以使用to_datetime方法解析多种不同的日期表示形式。对标准日期格式（如ISO8601）的解析非常快。我们也可以指定特定的日期解析格式，如pd.to_datetime(series,format='%Y%m%d')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_vs['time'] = pd.to_datetime(data_vs['contb_receipt_dt'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.2 以时间作为索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>cand_nm</th>\n",
       "      <th>contbr_nm</th>\n",
       "      <th>contbr_st</th>\n",
       "      <th>contbr_employer</th>\n",
       "      <th>contbr_occupation</th>\n",
       "      <th>contb_receipt_amt</th>\n",
       "      <th>contb_receipt_dt</th>\n",
       "      <th>party</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2012-02-01</th>\n",
       "      <td>Romney, Mitt</td>\n",
       "      <td>ELDERBAUM, WILLIAM</td>\n",
       "      <td>AA</td>\n",
       "      <td>US GOVERNMENT</td>\n",
       "      <td>FOREIGN SERVICE OFFICER</td>\n",
       "      <td>25.0</td>\n",
       "      <td>01-FEB-12</td>\n",
       "      <td>Republican</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-02-01</th>\n",
       "      <td>Romney, Mitt</td>\n",
       "      <td>ELDERBAUM, WILLIAM</td>\n",
       "      <td>AA</td>\n",
       "      <td>US GOVERNMENT</td>\n",
       "      <td>FOREIGN SERVICE OFFICER</td>\n",
       "      <td>110.0</td>\n",
       "      <td>01-FEB-12</td>\n",
       "      <td>Republican</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-04-13</th>\n",
       "      <td>Romney, Mitt</td>\n",
       "      <td>CARLSEN, RICHARD</td>\n",
       "      <td>AE</td>\n",
       "      <td>DEFENSE INTELLIGENCE AGENCY</td>\n",
       "      <td>INTELLIGENCE ANALYST</td>\n",
       "      <td>250.0</td>\n",
       "      <td>13-APR-12</td>\n",
       "      <td>Republican</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-08-21</th>\n",
       "      <td>Romney, Mitt</td>\n",
       "      <td>DELUCA, PIERRE</td>\n",
       "      <td>AE</td>\n",
       "      <td>CISCO</td>\n",
       "      <td>ENGINEER</td>\n",
       "      <td>30.0</td>\n",
       "      <td>21-AUG-11</td>\n",
       "      <td>Republican</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-03-07</th>\n",
       "      <td>Romney, Mitt</td>\n",
       "      <td>SARGENT, MICHAEL</td>\n",
       "      <td>AE</td>\n",
       "      <td>RAYTHEON TECHNICAL SERVICES CORP</td>\n",
       "      <td>COMPUTER SYSTEMS ENGINEER</td>\n",
       "      <td>100.0</td>\n",
       "      <td>07-MAR-12</td>\n",
       "      <td>Republican</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 cand_nm           contbr_nm contbr_st  \\\n",
       "time                                                     \n",
       "2012-02-01  Romney, Mitt  ELDERBAUM, WILLIAM        AA   \n",
       "2012-02-01  Romney, Mitt  ELDERBAUM, WILLIAM        AA   \n",
       "2012-04-13  Romney, Mitt    CARLSEN, RICHARD        AE   \n",
       "2011-08-21  Romney, Mitt      DELUCA, PIERRE        AE   \n",
       "2012-03-07  Romney, Mitt    SARGENT, MICHAEL        AE   \n",
       "\n",
       "                             contbr_employer          contbr_occupation  \\\n",
       "time                                                                      \n",
       "2012-02-01                     US GOVERNMENT    FOREIGN SERVICE OFFICER   \n",
       "2012-02-01                     US GOVERNMENT    FOREIGN SERVICE OFFICER   \n",
       "2012-04-13       DEFENSE INTELLIGENCE AGENCY       INTELLIGENCE ANALYST   \n",
       "2011-08-21                             CISCO                   ENGINEER   \n",
       "2012-03-07  RAYTHEON TECHNICAL SERVICES CORP  COMPUTER SYSTEMS ENGINEER   \n",
       "\n",
       "            contb_receipt_amt contb_receipt_dt       party  \n",
       "time                                                        \n",
       "2012-02-01               25.0        01-FEB-12  Republican  \n",
       "2012-02-01              110.0        01-FEB-12  Republican  \n",
       "2012-04-13              250.0        13-APR-12  Republican  \n",
       "2011-08-21               30.0        21-AUG-11  Republican  \n",
       "2012-03-07              100.0        07-MAR-12  Republican  "
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_vs.set_index(\"time\", inplace=True)\n",
    "data_vs.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.3 重采样和频度转换"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "重采样（Resampling）指的是把时间序列的频度变为另一个频度的过程。把高频度的数据变为低频度叫做降采样（downsampling），resample会对数据进行分组，然后再调用聚合函数。这里我们把频率从每日转换为每月，属于高频转低频的降采样。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>cand_nm</th>\n",
       "      <th>Obama, Barack</th>\n",
       "      <th>Romney, Mitt</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2011-04-30</th>\n",
       "      <td>13830</td>\n",
       "      <td>1096</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-05-31</th>\n",
       "      <td>12182</td>\n",
       "      <td>4163</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-06-30</th>\n",
       "      <td>25626</td>\n",
       "      <td>5757</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-07-31</th>\n",
       "      <td>12372</td>\n",
       "      <td>2454</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-08-31</th>\n",
       "      <td>19860</td>\n",
       "      <td>3226</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-09-30</th>\n",
       "      <td>46926</td>\n",
       "      <td>7968</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-10-31</th>\n",
       "      <td>25941</td>\n",
       "      <td>5349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-11-30</th>\n",
       "      <td>32629</td>\n",
       "      <td>7737</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011-12-31</th>\n",
       "      <td>63562</td>\n",
       "      <td>10289</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-31</th>\n",
       "      <td>40055</td>\n",
       "      <td>9431</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-02-29</th>\n",
       "      <td>66416</td>\n",
       "      <td>13396</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-03-31</th>\n",
       "      <td>123564</td>\n",
       "      <td>17807</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-04-30</th>\n",
       "      <td>106164</td>\n",
       "      <td>16482</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "cand_nm     Obama, Barack  Romney, Mitt\n",
       "time                                   \n",
       "2011-04-30          13830          1096\n",
       "2011-05-31          12182          4163\n",
       "2011-06-30          25626          5757\n",
       "2011-07-31          12372          2454\n",
       "2011-08-31          19860          3226\n",
       "2011-09-30          46926          7968\n",
       "2011-10-31          25941          5349\n",
       "2011-11-30          32629          7737\n",
       "2011-12-31          63562         10289\n",
       "2012-01-31          40055          9431\n",
       "2012-02-29          66416         13396\n",
       "2012-03-31         123564         17807\n",
       "2012-04-30         106164         16482"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vs_time = data_vs.groupby('cand_nm').resample('M')['cand_nm'].count()\n",
    "vs_time.unstack(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们用面积图把11年4月-12年4月两位总统候选人接受的赞助笔数做个对比可以看出，越临近竞选，大家赞助的热情越高涨，奥巴马在各个时段都占据绝对的优势"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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RERk31Do+RhxF7c9rBdgt21/NyHqgwSuBlfhGqQxmaRf2Zq66lZsBEmMtTEkrqJ1K3hNMWnsAlcbY2yEZ13QamyKSROs7Ve3WktqUzoW2rbfUhj687cG/UePxPj9FsN+P1B9+8A1tVC2dSa9dWx2hMbIMTqVZ7iVHVFgICKPRljEO/AEHHgCgEqnTrIyjd+ao9dYYcJ0sZk83XyVJDtKmhslyo1Rz1bvaK29ndrRioiIiIiIiIiIyH6i0FMeic3AFS/zrlsJb4p3+Drbr3oyaUQmjV074f7HJG7dJtFW4Nqfw9XaBNKUfGDoVS4yW5i6I+RUYCAiA5Or4R+qARfpAJ1Bj0dERERERERERERkwBR6yr53u8LVz+xo/tbG5vvs7rBERERERERERERERERkl6g3p4iIiIiIiIiIiIiIiIjsaQo9RURERERERERERERERGRPU+gpIiIiIiIiIiIiIiIiInuaQk8RERERERERERERERER2dMUeoqIiIiIiIiIiIiIiIjInqbQU0RERERERERERERERET2NIWeIiIiIiIiIiIiIiIiIrKnKfQUERERERERERERERERkT1NoaeIiIiIiIiIiIiIiIiI7GkKPUVERERERERERERERERkT1PoKSIiIiIiIiIiIiIiIiJ7mkJPEREREREREREREREREdnTFHqKiIiIiIiIiIiIiIiIyJ6m0FNERERERERERERERERE9jSFniIiIiIiIiIiIiIiIiKypyn0FBEREREREREREREREZE9TaGniIiIiIiIiIiIiIiIiOxpCj1FREREREREREREREREZE9T6CkiIiIiIiIiIiIiIiIie5pCTxERERERERERERERERHZ0xR6ioiIiIiIiIiIiIiIiMieptBTRERERERERERERERERPY0hZ4iIiIiIiIiIiIiIiIisqcp9BQRERERERERERERERGRPU2hp4iIiIiIiIiIiIiIiIjsaQo9RURERERERERERERERGRPU+gpIiIiIiIiIiIiIiIiInuaQk8RERERERERERERERER2dMUeoqIiIiIiIiIiIiIiIjInqbQU0RERERERERERERERET2tKEPPY0xP2CMec0Yc9kY8w8GPR4RERERERERERERERERGS5DHXoaY3zgXwA/CLwH+HFjzHsGOyoRERERERERERERERERGSZDHXoC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\n",
      "text/plain": [
       "<Figure size 2304x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig1, ax1=plt.subplots(figsize=(32,8))\n",
    "vs_time.unstack(0).plot(kind='area',ax=ax1,alpha=0.6)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
